/**
 * 
 */
package dms.repository;

import java.util.List;

import dms.model.Classes;
import dms.model.Faculty;
import dms.model.School;
import dms.model.util.PageIterator;

/**
 * @author 李健
 *
 */
public interface SchoolRepository {

	PageIterator<School> findAllSchool(int start, int count);
	
	PageIterator<School> findSchoolByName(String name, int start, int count);
	
	School createSchool(School schoolInfo);
	
	School updateSchool(School schoolInfo);
	
	void deleteSchoolById(Long id);
	
	PageIterator<Faculty>  findFacultyBySchool(School school, int start, int count);
	
	PageIterator<Classes> findClassesByFaculty(Faculty faculty, int start, int count);
	
	Faculty findFacultyById(Long id);
	
	Classes findClassesById(Long id);
	
	Faculty createFaculty(Faculty faculty);
		
	School findSchoolById(Long id);

	Faculty updateFaculty(Faculty faculty);
	
	void deleteFacultyById(Long id);
	
	Classes createClasses(Classes classes);
	
	Classes updateClasses(Classes classes);
	
	void deleteClassesById(Long id);

	PageIterator<Classes> findClassesByName(String name, int start, int count);
	
	void deleteClasses(List<Long> ids);
	
	void deleteFaculites(List<Long> ids);
	
	void deleteSchools(List<Long> ids);
}
